1. Field of the Invention
This invention relates to the area of computer image generation in general and techniques for anti-aliasing, computer generated images in particular. There is described the applying an anti-aliasing filter to the output of a sub-pixel image memory configuration to improve image quality in displays in general and in color mosaic displays in particular. The result is smoother more stroke-like images.
2. Background
The problem being confronted with flat panel matrix displays and/or raster displays is that the discrete nature of some display systems results in a discontinuous or jagged looking output such as the aliased line 10 in a simulated display 11 of FIG. 1. This contrasts with the widely accepted high quality stroke 12 as would be seen on a CRT display where each line is smooth and continuous (i.e. an anti-aliased line). Without anti-aliasing, computer generated imagery on raster displays typically shows disturbing artifacts: moire patterns, rainbow effects, jagged edges, discontinuous motion, loss of detail and/or scintillation. These artifacts are all manifestations of a more general problem called aliasing. Aliasing results when the detail or spatial frequency content of the image to be displayed exceeds the sampling bandwidth capability of the display system. Fortunately, according to sampling theory, aliasing can be eliminated completely. To remove it, the signal to be sampled must first be bandlimited to include no frequencies higher than 1/2 the sampling frequency of the system. To prevent artifacts from appearing on an image, the image itself must first be bandlimited so its spatial frequency content meets this criterion.
In computer generated image systems, the image can be expressed as a signal whose amplitude varies as a function of position across the surface of the display. As more detail is added to the image, this signal changes more rapidly across the screen. As the signal rises and falls more rapidly, the effect is to raise the spectral energy content of the image into higher spatial frequency regions. Therefore, bandlimiting a computer generated image means the computer must be programmed to prevent sudden transitions. Pixels in the vicinity of detail, lines or edges of polygons, for example, are shaded such that the signal rises and falls at the appropriate rate. The appropriate rate is determined using sampling theory as discussed above.
In the prior art attempts have been made in the CPU (central processing unit) for mathematically determining the appropriate intensity for each pixel on the display. A weighted filter/convolution was done over a windowed region with the result used as an index for the appropriate intensity value. Some hardware implementations apply an intensity value to pixels on either side of the desired pixel. This method is typically selected when a vector generator is used to render the graphics symbols.
The prior art most commonly used a write cycle architecture, i.e., the computer bandlimited the image while the image was being written into memory. Many different algorithms have been developed over the years to provide anti-aliasing. One of the more common techniques was based on how far pixels were from a given feature. For each neighboring pixel, the distance from the feature, an edge for example, was determined. The further the pixel was from the edge, the less influence the edge exerted over the intensity assigned to that pixel. Smoother luminance transitions resulted, the spectral content of the image was limited appropriately to the lower frequencies and the aliasing artifacts were eliminated.
Another popular method, theoretically more precise, assigned intensity or color values to neighboring pixels as a function of the area of overlap; the more a pixel was covered by a particular feature, the more influence the feature exerted over that pixel. For example, a pixel covered entirely by a polygon would be assigned the full value required by that polygon. If, on the other hand, the pixel lay on the edge of the polygon, such that only a third of the pixel was covered, then the pixel would be illuminated with only a third of the value prescribed by the polygon. This method also achieved an effective low pass filter operation across the image and limited spatial frequency content as required. Anti-aliasing was successfully achieved here as well.
Alternatively and most precise, for non-real-time applications, the filter convolution method has been used. The bandwidth of an image was reduced by sliding a window processing kernel over a source image whose resolution was higher than that of the desired output. A three by three processing kernel was typically selected. In the processing kernel, numbers corresponding to a particular point spread function were stored. The transfer function and shape of the point spread function were derived from sampling theory. The kernel was slid across and down the source image pixel by pixel, resulting in a straightforward convolution process. Convolution of this kernel with a high resolution source image resulted in an output image whose spatial bandwidth matched that of the sampling display system, so aliasing, once again, was circumvented.
The above three categories of anti-aliasing are all write cycle based. As such, they suffer serious drawbacks when required to deliver high resolution real-time performance. Speed is the critical issue. The increased burden anti-aliasing places on systems of even modest resolutions, 512.times.512 for instance, has pressed write cycle architectures to the limit. Processing elements must be selected for much higher performance and cost. Of course parallel techniques can be invoked to alleviate some of the problems but then control and system flexibility flare up to become major issues.
Write cycle architectural problems are exacerbated further when color mosaic display technology is used in the display device. The resolution of this emerging technology can be several times more than that which has already proven difficult. The trend points to higher resolutions still. In addition, the particular color pattern of the mosaic must be taken into account by the graphics generator in order that it can successfully render anti-aliased imagery. Color pattern considerations enable the image generator to tailor the frequency content of the image to the specific capabilities of a given color mosaic display. In summary of this background, write-cycle anti-aliasing entails considerable expense when generating high resolution, real-time imagery, especially when targeting color mosaic displays.